package org.dromara.nursing.domain.vo;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.dromara.nursing.domain.MsContractBasic;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import org.dromara.common.excel.annotation.ExcelDictFormat;
import org.dromara.common.excel.convert.ExcelDictConvert;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;



/**
 * 合同信息视图对象 ms_contract_basic
 *
 * @author Lion Li
 * @date 2025-04-23
 */
@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = MsContractBasic.class)
public class MsContractBasicVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 合同ID
     */
    @ExcelProperty(value = "合同ID")
    private Long contractId;

    /**
     * 合同编号
     */
    @ExcelProperty(value = "合同编号")
    private String contractNo;

    /**
     * 老人姓名
     */
    @ExcelProperty(value = "老人姓名")
    private String elderName;

    /**
     * 房间ID
     */
    @ExcelProperty(value = "房间ID")
    private Long roomId;

    /**
     * 房间号
     */
    @ExcelProperty(value = "房间号")
    private String roomNumber;

    /**
     * 床位ID
     */
    @ExcelProperty(value = "床位ID")
    private Long bedId;

    /**
     * 床位号
     */
    @ExcelProperty(value = "床位号")
    private String bedNumber;

    /**
     * 合同开始日期
     */
    @ExcelProperty(value = "合同开始日期")
    private Date startDate;

    /**
     * 合同结束日期
     */
    @ExcelProperty(value = "合同结束日期")
    private Date endDate;

    /**
     * 月费用
     */
    @ExcelProperty(value = "月费用")
    private Long monthlyFee;

    /**
     * 押金
     */
    @ExcelProperty(value = "押金")
    private Long deposit;

    /**
     * 合同状态
     */
    @ExcelProperty(value = "合同状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_contract_status")
    private String contractStatus;

    /**
     * 联系人姓名
     */
    @ExcelProperty(value = "联系人姓名")
    private String contactName;

    /**
     * 是否同意协议
     */
    @ExcelProperty(value = "是否同意协议", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "sys_sftyxz")
    private String agreementAccepted;

    /**
     * 备注
     */
    @ExcelProperty(value = "备注")
    private String remarks;


}
